package com.kotlin.baselibrary.injection.component

import android.app.Activity
import android.content.Context
import com.kotlin.baselibrary.injection.ActivityScope
import com.kotlin.baselibrary.injection.module.ActivityModule
import com.kotlin.baselibrary.injection.module.LifecycleProviderModule
import com.trello.rxlifecycle3.LifecycleProvider
import dagger.Component

/**
 * @author       zhipe
 * @createTime    2020/10/14
 * @description
 */
@ActivityScope
@Component(
    modules = [ActivityModule::class, LifecycleProviderModule::class],
    dependencies = [AppComponent::class]
)
interface ActivityComponent {
    fun activity(): Activity

    fun context(): Context

    fun lifecycleProvider(): LifecycleProvider<*>
}